/*
 * Title:        CloudScheduler Toolkit
 * Description:  a Toolkit for Modeling and Simulation of Job Scheduling and Resource Provisioning in Cloud System
 * Licence:      GPL - http://www.gnu.org/copyleft/gpl.html
 * Author:       Fuhui Wu
 *
 * Copyright (c) 2013-2014, The National University of Defense Technology, China
 */

package org.nudt.jCloud.simulation;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.nudt.jCloud.infrastructure.Slot;
import org.nudt.jCloud.infrastructure.SlotType;

public class ScaleData {
	private int userBrokerId;
	private Map<SlotType, Integer> toLeaseSlot;
	private Map<SlotType, List<Slot>> toReleaseSlot;
	
	private RequestData requestData;
		
	public ScaleData(int userBrokerId, RequestData requestData){
		setUserBrokerId(userBrokerId);
		setRequestData(requestData);
		setToLeaseSlot(new HashMap<SlotType, Integer>());
		setToReleaseSlot(new HashMap<SlotType, List<Slot>>());
	}
	
	public void reset(){
		toLeaseSlot.clear();
		toReleaseSlot.clear();
	}
	
	public Map<SlotType, Integer> getToLeaseSlot() {
		return toLeaseSlot;
	}

	public void setToLeaseSlot(Map<SlotType, Integer> toLeaseSlot) {
		this.toLeaseSlot = toLeaseSlot;
	}
	
	public Map<SlotType, List<Slot>> getToReleaseSlot(){
		return toReleaseSlot;
	}
	
	public void setToReleaseSlot(Map<SlotType, List<Slot>> toReleaseSlot){
		this.toReleaseSlot = toReleaseSlot;
	}

	public RequestData getRequestData() {
		return requestData;
	}

	public void setRequestData(RequestData requestData) {
		this.requestData = requestData;
	}

	public int getUserBrokerId() {
		return userBrokerId;
	}

	public void setUserBrokerId(int userBrokerId) {
		this.userBrokerId = userBrokerId;
	}

}
